package common.model.Entity.libraryEntity;

import lombok.Getter;
import lombok.Setter;
import common.model.Entity.libraryEntity.enums.FineStatus;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import common.model.Entity.BaseEntity;

/**
 * 罚款记录实体类，对应数据库表 {@code t_fine_record}。
 *
 * <p>记录用户因图书逾期、损坏等原因产生的罚款信息。</p>
 *
 * <p>使用 Lombok 自动生成 Getter/Setter 方法，继承自 {@link common.model.Entity.BaseEntity}。</p>
 */

@Getter
@Setter
public class Fine extends BaseEntity {
    /**
     * 罚款记录主键，对应表字段 {@code id}。
     */
    private Long id;
    /**
     * 被罚款的图书副本 ID，对应表字段 {@code book_id}。
     */
    private Long bookId;
    /**
     * 被罚款用户 ID，对应表字段 {@code user_id}。
     */
    private Long userId;
    /**
     * 罚款金额，对应表字段 {@code fine_amount}。
     */
    private Float fineAmount;
    /**
     * 罚款日期（业务日期），对应表字段 {@code fine_date}。
     */
    private Date fineDate;
    /**
     * 罚款状态，对应表字段 {@code status}；取值参考 {@link FineStatus}。
     */
    private String status;
    /**
     * 记录创建时间，对应表字段 {@code created_at}。
     */
    private LocalDateTime createdAt;
}
